define(['zepto', 'butterfly/view','../../bsl',
    'text!./nis.html'
], function($, View, bsl, nis) {
    var me = null;
    var UIAlertView=null;
    var AlertDialog=null,mainActivity=null;

    var view = View.extend({
        events: {
            "tap #back":"back",
            "tap #gamecenter":"gamecenter",
            "tap #shortcut":"shortcut",
            "tap #showNjsView":"showNjsView",
            "tap #openDoc":"OpenDoc"

            
        },
        render: function() {
            me = this;
        },

        onShow: function() {

            if(window.bsl){
            plusReady();
        }else{
            document.addEventListener("plusready",plusReady,false);
        }

        },
        
                // 保存iOS平台导入的类对象
        
        // 保存Android导入对象和全局环境对象
        
        // H5 bsl事件处理
        plusReady: function(){
            switch ( bsl.os.name ) {
                case "Android":
                // 程序全局环境对象
                mainActivity = bsl.android.runtimeMainActivity();
                // 导入AlertDialog类
                AlertDialog = bsl.android.importClass("android.app.AlertDialog");
                break;
                case "iOS":
                // 导入UIAlertView类
                UIAlertView = bsl.ios.importClass("UIAlertView");
                break;
                default:
                break;
            }
        },
        

        /**
         * 在iOS平台通过NJS显示系统提示框
         */
        njsAlertForiOS: function(){
        /*
         * Objective-C 代码
         * 
        　　// 创建UIAlertView类的实例对象
        　　UIAlertView *view = [UIAlertView alloc];
        　　// 设置提示对话上的内容
        　　[view initWithTitle:@"自定义标题"       // 提示框标题
        　　    message:@"使用NJS的原生弹出框，可自定义弹出框的标题、按钮"  // 提示框上显示的内容
        　　    delegate:nil                // 点击提示框后的通知代理对象，nil类似js的null，意为不设置
        　　    cancelButtonTitle:@"确定(或者其他字符)"     // 提示框上取消按钮的文字
        　　    otherButtonTitles:nil];        // 提示框上其它按钮的文字，设置为nil表示不显示
        　　// 调用show方法显示提示对话框，在OC中使用[]语法调用对象的方法
        　　[view show];
         */

            // 创建UIAlertView类的实例对象
            var view = new UIAlertView();
            // 设置提示对话上的内容
            view.initWithTitlemessagedelegatecancelButtonTitleotherButtonTitles("自定义标题" // 提示框标题
                , "使用NJS的原生弹出框，可自定义弹出框的标题、按钮" // 提示框上显示的内容
                , null // 操作提示框后的通知代理对象，暂不设置
                , "确定(或者其他字符)" // 提示框上取消按钮的文字
                , null ); // 提示框上其它按钮的文字，设置为null表示不显示
            // 调用show方法显示提示对话框
            view.show();
        },

        /**
         * 在Android平台通过NJS显示系统提示框
         */
        njsAlertForAndroid: function(){
        /*
         * Android平台 java代码
         * 
            // 创建提示框构造对象，Builder是AlertDialog的内部类。参数this指代Android的主Activity对象，该对象启动应用时自动生成
            AlertDialog.Builder dlg = new AlertDialog.Builder(this);
            // 设置提示框标题
            dlg.setTitle("自定义标题");
            // 设置提示框内容
            dlg.setMessage("使用NJS的原生弹出框，可自定义弹出框的标题、按钮");
            // 设置提示框按钮
            dlg.setPositiveButton("确定(或者其他字符)", null);
            // 显示提示框
            dlg.show();
         */

            // 创建提示框构造对象，构造函数需要提供程序全局环境对象，通过bsl.android.runtimeMainActivity()方法获取
            var dlg = new AlertDialog.Builder(mainActivity);
            // 设置提示框标题
            dlg.setTitle("自定义标题");
            // 设置提示框内容
            dlg.setMessage("使用NJS的原生弹出框，可自定义弹出框的标题、按钮");
            // 设置提示框按钮
            dlg.setPositiveButton("确定(或者其他字符)",null);
            // 显示提示框
            dlg.show();
        },

        showNjsView: function(){
            switch ( bsl.os.name ) {
                case "Android":
                njsAlertForAndroid();
                break;
                case "iOS":
                njsAlertForiOS();
                break;
                default:
                alert( "此平台不支持！" );
                break;
            }
        },

        gamecenter: function(){
            if ( 'iOS' == bsl.os.name ) {
                clicked('njs_ios_gamecenter.html',true);
            }else{
                bsl.nativeUI.alert( "此平台不支持！" );
            }
        },

        shortcut: function(){
            if ( 'Android' == bsl.os.name ) {
                clicked('njs_android_shortcut.html',true);
            }else{
                bsl.nativeUI.alert( "此平台不支持！" );
            }
        },

         back : function(e){
            window.history.go(-1);
        },

        OpenDoc : function(e){
           
            window.butterfly.navigate('com.no5.cordovademo/doc/njs', {
                trigger: true
            });
        },
            });
            return view;
        });
